//
//  YYNavigationItem.h
//  YYNavigationBar
//
//  Created by yangyang on 16/8/1.
//  Copyright © 2016年 机智的静默( http://www.cnblogs.com/jingmo/ ). All rights reserved.
//

#import "YYNavigationBarButton.h"

@interface YYNavigationItem : UIView

/// 设置标题(默认为nil)
@property (nonatomic, copy) NSString *title;

/// 自定义标题View(默认为nil)
@property (nonatomic) UIView *titleView;

/// 返回按钮(第一个界面隐藏, 默认一个返回的图片)
@property (nonatomic) YYNavigationBarButton *backButton;

/// 设置返回按钮的图片
@property (nonatomic) UIImage *backImage;

/// 设置返回按钮是否隐藏(默认为NO)
@property (nonatomic, assign) BOOL isHiddenBackButton;

/// 所有界面的文本的颜色(默认白色, 返回按钮文本/左侧按钮文本/右侧按钮文本/标题均受此颜色渲染，相当于文本的textcolor；titleView和分割线不受影响)
@property (nonatomic) UIColor *textColor;

/// 所有界面的按钮集合的颜色(默认空，即图片本身的颜色。返回按钮/左侧按钮集合/右侧按钮集合；titleView和分割线不受影响)
@property (nonatomic) UIColor *buttonImageColor;

/// 所有界面的文本的字体(默认button15，label17, 返回按钮/左侧按钮/右侧按钮/标题均受此字体影响；titleView不受影响)
@property (nonatomic) UIFont *textFont;

/// 分割线颜色(默认[UIColor clear])
@property (nonatomic) UIColor *separatorLineColor;

/// 分割线图片(默认无图)
@property (nonatomic) UIImage *separatorLineImage;

/// 左边按钮集合(默认为nil, 只接受按钮类型的view)
@property (nonatomic, copy) NSArray<YYNavigationBarButton *> *leftButtons;

/// 右边按钮集合(默认为nil, 只接受按钮类型的view)
@property (nonatomic, copy) NSArray<YYNavigationBarButton *> *rightButtons;


/**
 实例初始化方法

 @param stackCount 传入当前NavigationController栈中的视图个数
 @param lastViewController 当前NavigationController栈中最后一个ViewController
 
 @return NavigationItem
 */
- (instancetype)initWithStackCount:(CGFloat)stackCount lastViewController:(UIViewController *)lastViewController;
/**
 类初始化方法

 @param stackCount 传入当前NavigationController栈中的视图个数
 @param lastViewController 当前NavigationController栈中最后一个ViewController

 @return NavigationItem
 */
+ (instancetype)naviItemWithStackCount:(CGFloat)stackCount lastViewController:(UIViewController *)lastViewController;

/// 在手动调整了子视图的布局后，调用该方法，会刷新子视图布局;
/// 如果使用了titleView，则该方法无效
- (void)refreshSubLayout;

@end
